home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 081 / outer.arc / OUTER.DOC < prev    next >
Text File  |  1986-11-12  |  9KB  |  187 lines

  1.  
  2.                      OUTER
  3.  
  4.                 Copyright 1986
  5.                       by
  6.                    Ron Bemis
  7.                 FidoNode 151/104
  8.  
  9. OUTER is a program written in the C programming language to support the
  10. O)utside command in Fido.  OUTER allows a remote user to run external programs
  11. that the sysop selects.  The sysop has complete control over what programs
  12. are usable by users at each privilege level, and a log of all activity is
  13. maintained.  Starting with version 1.17, OUTER requires that the device driver
  14. OUTER.SYS be installed.  That is, DEVICE=OUTER.SYS must be in the CONFIG.SYS
  15. file.  OUTER.SYS is supplied with OUTER.  Also highly suggested but not
  16. required is the IBMAUX device driver (DEVICE=IBMAUX1.SYS) which will allow
  17. you to use the CTTY AUX1 command to redirect all input/output to both the
  18. console and com port in place of CTTY COM1.  IBMAUX also filters ^C from the
  19. com port, making it impossible for a user to ^C their way to your DOS.
  20.  
  21. CALLING SYNTAX:
  22.  
  23.      OUTER { /1 | /2 | /t } [ time/l ] [ pin/v ] [ /s ] [task/i]
  24.  
  25. The parameters have exactly the same meaning as those used with Fido with the
  26. exception of /s.  /s is used to run the program with sysop privileges without
  27. the need to log into Fido in test mode only to set up LASTUSER.BBS.  Use
  28. "OUTER /t /s" for testing purposes from the console.  Typing OUTER with no
  29. parameters will give a quick summary of the above syntax.
  30.  
  31. FILES USED BY OUTER
  32.  
  33. OUTER.WEL - a text file containing a welcome message to be displayed when
  34. the user first enters OUTER.
  35.  
  36. OUTER.HLP - a text file containing information to be displayed when the user
  37. enters the "?" command.
  38.  
  39. SYSOP.LOG - updated by OUTER.  Added will be the user's name, the time he/she
  40. started OUTER; the command and starting time of each service executed; the
  41. time of return from each service, and the time OUTER was exited.  If this is
  42. inappropriate for your situation, use DEBUG or NORTON UTILITIES to change all
  43. references of "Sysop.Log" to "Outer.Log" in the OUTER.EXE file.
  44.  
  45. OUTER.BBS - a text file containing the list of commands OUTER can execute.
  46. Each line has the form:
  47.  
  48. Privel  Command_letter  Command_to_execute;   Description_given_to_user
  49.  
  50. Privil is the privilege level required for access.  This may be any one of
  51. the privilege levels:  Twit, Disgrace, Normal, Privel, Extra, or Sysop.  Users
  52. below the required level will neither see nor be able to execute the command.
  53. Case is unimportant, and only the first letter of the privilege level is
  54. required.  This should be the first character of the line, and the privilege
  55. level letter or word should be followed by at least one space to separate it
  56. from the Command_letter.
  57.  
  58. Command_letter is the command by which the user will select this entry.
  59. Again, upper or lower case are the same, and a full word may be specified,
  60. although only the first character is used.  Letters or numbers or even special
  61. symbols are okay, but "0" and "?" are reserved.  Using letters in alphabetical
  62. order seems to be the easiest to maintain, and insures that users at lower
  63. access levels will not notice "gaps" in available services.  This also must
  64. be followed by at least one space to separate it from the Command_to_execute.
  65.  
  66. Command_to_execute is the command that will be executed by selecting the
  67. command "C".  This can be a DOS internal or external command, complete with
  68. parameters and/or switches exactly as if it were typed at the command line.
  69. This command will not be visible to the user.  Version 2.0 and above has been
  70. fixed so that the command is not capitalized before being passed to DOS.
  71. Be sure to follow Command_to_execute with a semicolon (";") to separate it
  72. from the Description_given_to_user.
  73.  
  74. Description_given_to_user is self-explanatory.
  75.  
  76. EXECUTION
  77.  
  78. The user of Outer will see a menu like this:
  79.  
  80. Ron Bemis has 13 minutes left outside Fido
  81.  
  82. A) Examine archive (*.ARC) files
  83. M) Check for your messages in all areas
  84. N) Search for new files added to this BBS
  85. Q) Show the approximate time
  86. U) Upgrade me!  (SysOp approval only)
  87. 0) Quit OUTER
  88. ?) Help with OUTER
  89.  
  90. Your selection? 
  91.  
  92. The user's time limit in OUTER is determined by the sysop in the RUNBBS.BAT
  93. file.  The OUTER time limit switche (/l) has the same meaning as that used
  94. on the FIDO command line.
  95.  
  96. As in Fido, the /l value is doubled for PRIVEL and EXTRA levels, and halved
  97. for TWIT levels.  Users at the SYSOP level are allowed a per-session time of
  98. 4 times the /l value.
  99.  
  100. When OUTER starts, LASTUSER.BBS is read to determine the user's name and
  101. privilege level.  USER.BBS is searched for the user's name, and the FULL
  102. time limit for the OUTER session is added to his/her daily time used.  If
  103. and when the user exits OUTER, any time left is subtracted from this time.
  104. So, if the user hangs up while in OUTER, he is "charged" the full OUTER
  105. time limit.  This keeps users by hogging the system by causing Fido to
  106. disallow access when their daily time limit is exceeded.
  107.  
  108. Checks are made to ensure that OUTER will not overrun a scheduled event before
  109. an actual time limit is established.  If the time before an event is less than
  110. 3 minutes, the user is not allowed access to OUTER.  If more than 3 minutes,
  111. but less than the usual time limit, the user is notified than a scheduled
  112. event is approaching, and that his time limit has been reduced.
  113.  
  114. OUTER has its own carrier detect "watchdog" function built in.  The use of the
  115. WATCHDOG program is not necessary when using OUTER.  This built-in watchdog
  116. uses the parameters given (/1 or /2 and the /V) to monitor the presence of
  117. carrier detect.  The use of the /t parameter disables this feature - allowing
  118. testing from the console.
  119.  
  120. If a user hangs up while in OUTER, or the time limit expires, the system will
  121. boot and the user will be "charged" the full amount of time allotted.
  122.  
  123. In a multi-user environment, it is not desirable for the system to re-boot
  124. when one user hangs up or times out.  Ray Gwinn at 109/639 is working on a
  125. solution to this problem.  For now, if you use the /t parameter on the command
  126. line, OUTER will never make the system boot.  The program will however, exit
  127. at any time the main menu is entered and the time left is less than or equal
  128. to 0.  (i.e. whenever it would normally say "... has 0 minutes left outside
  129. Fido".)  This is not very foolproof - if someone hangs up, the computer will
  130. remain in OUTER until someone else calls, at which time the program will most
  131. likely have timed out; when the new users returns to the menu, the program
  132. will then exit to the RUNBBS.BAT file.
  133.  
  134. A user is prevented from "breaking out" of OUTER - control-C is disabled.
  135. In an external program, control-C will work as expected, returning control
  136. back to OUTER.  This is not the case when using IBMAUX - it filters ALL
  137. control-C characters from the com port.  This is very important during the
  138. second or two that it takes to load OUTER.EXE.  If you choose to use CTTY
  139. COM1 (or COM2), there is a second or two after that command while your
  140. computer is loading OUTER.EXE that you are vulnerable to the user typing
  141. control-C and getting the "Terminate batch job (Y/N)?" prompt.  I'm sure
  142. that if the user was banging on the control-C key, he would not type "N"
  143. in answer to this question!  Moral of the story?  Use IBMAUX.
  144.  
  145. DEFAULT SWITCH VALUES
  146.  
  147.     Session Time - 20 minutes    (20/l)
  148.     CD Mask      - 16            (16/v) - generally not the one needed!
  149.         Com port     - COM1:         (/1)
  150.  
  151. ERRORLEVELS RETURNED
  152.  
  153.      0 = normal termination, user typed "0"
  154.      1 = time limit exceeded (with /t parameter)
  155.          OR scheduled event within 3 minutes
  156.      2 = parameter error on command line
  157.      3 = a file was not found (Lastuser.bbs, Outer.bbs, Sched.bbs, User.bbs)
  158.      4 = file error (LASTUSER.BBS not in USER.BBS)
  159.      5 = OUTER.SYS not installed
  160.  
  161. OUTER must be invoked from the RUNBBS.BAT file by setting it to run when Fido
  162. exits with the O) ERRORLEVEL.  This ERRORLEVEL is set with Fido's /a switch.
  163.  
  164. OUTER is distributed as Shareware.  You may distribute it to other Fido SysOps
  165. and run it yourself to see if you would like to use it regularly.  Businesses,
  166. for-profit organizations, and corporations must register this program.  If you
  167. decide to use OUTER on a regular basis, please register by sending $20 to:
  168.  
  169.             Ron Bemis
  170.             GTE Gov't Systems
  171.             400 Park Plaza
  172.             Research Triangle Park, NC  27709
  173.  
  174. Those who register will receive the next update via file attach as soon as
  175. it is released.  They will also be the first to preview other utilities from
  176. 151/104.
  177.  
  178. Other sysop utilities and programs to run from within OUTER are constantly
  179. being developed and made available on 151/104.  Comments and suggestions are
  180. always welcome.
  181.  
  182.             Enjoy.
  183.  
  184.             Ron Bemis
  185.             Sysop 151/104
  186.             919-942-9267
  187.